Rôle of Domain Engineering in Software Development - Why Current Requirements Engineering Is Flawed !
نویسنده
چکیده
We introduce the notion of domain descriptions (D) in order to ensure that software (S) is right and is the right software, that is, that it is correct with respect to written requirements (R) and that it meets customer expectations (D). That is, before software can be designed (S) we must make sure we understand the requirements (R), and before we can express the requirements we must make sure that we understand the application domain (D): the area of activity of the users of the required software, before and after installment of such software. We shall outline what we mean by informal, narrative and formal domain description, and how one can systematically, albeit not (in fact: never) automatically go from domain descriptions to requirements prescriptions. As it seems that domain engineering is a relatively new discipline within software engineering we shall mostly focus on domain engineering and discuss its necessity. The talk will show some formulas but they are really not meant to be read by the speaker, let alone understood, during the talk, by the listeners. They are merely there to bring home the point: Professional software engineering, like other professional engineering branches rely on and use mathematics. And it is all very simple to learn and practise anyway ! We end this paper with, to some, perhaps, controversial remarks: Requirements engineering, as pursued today, researched, taught and practised, is outdated, is thus fundamentally flawed. We shall justify this claim. 1 The Software Development Dogma
منابع مشابه
Refactoring the Publishing Process
This paper dicusses how the technical book publishing process could address time to market and eBook issues through the adaptation of collaborative software engineering processes to the entire publishing process, from the initial authoring to the final preflight stages. We identify where, based on our own observations, the current process is flawed, then explore how it can be improved. While so...
متن کاملA Cloverleaf of Software Engineering
We shall touch upon four issues of software engineering (SE): domain engineering, formal techniques, SE sociology, and academic software architects. First, before software can be designed one must understand its requirements; but before requirements can be formulated one must understand the domain. So we assume that requirements development is based on first having established models of the (ap...
متن کاملWhy is RE for web-based software development easier?
In this paper we identify the fundamental differences between webbased and conventional software engineering. We express our views about why we think requirements engineering for web-based application development should be easier than requirements engineering for conventional software development. We will examine the consequences of holding such a position and propose a more effective process m...
متن کاملThe Rôle of Domain Engineering in Software Development
We outline the concept of domain engineering and explain the main stages of developing domain models. Requirements engineering is then seen as an intermediate stage where domain models are “transformed” into requirements prescriptions. Software Design concludes development — and we comment on software correctness with respect to both requirements prescriptions and domain descriptions. We finall...
متن کاملFrom Domains to Requirements On a Triptych of Software Development
Domain engineering, in the sense of this paper, is offered as a means to help secure that software engineers deliver the right software – where formalisation of relevant stages and steps of software development helps secure that the software is right [9]. In this paper we shall present the essence of a software development triptych: from domains via requirements to software design. We emphasize...
متن کامل